package org.sxp.modules.dataworks.dto;

import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.sxp.common.validator.group.AddGroup;
import org.sxp.common.validator.group.L2;
import org.sxp.common.validator.group.UpdateGroup;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 数据开发
 * 如果同时想发布到rpc，请拷贝至公共依赖模块，用于rpc之间数据交互
 * @author 沈兴平
 * @date 2022/02/09
 */
@Data
@ApiModel(value = "数据开发",description = "沈兴平-2022/02/09")
public class DevelopDTO implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@NotNull(message="id 不能为空", groups = {UpdateGroup.class})
	@ApiModelProperty(value = "-主键")
	private String id;

	/**
	 * 工作名称
	 */
	@ApiModelProperty(value = "工作名称")
	@NotBlank(message="工作名称 不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String name;

	/**
	 * 资源分组
	 */
	@ApiModelProperty(value = "资源分组")
	private String spaceId;

	/**
	 * 开发数据源
	 */
	@ApiModelProperty(value = "开发数据源")
	@NotBlank(message="开发数据源 不能为空", groups = {AddGroup.class, UpdateGroup.class})
	private String developDb;
	private String developDbName;

	/**
	 * sql执行脚本
	 */
	@ApiModelProperty(value = "sql执行脚本")
	private String sqlScript;
	/**
	 * 调度任务ID
	 */
	@ApiModelProperty(value = "调度任务ID")
	private Integer jobinfoId;

	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间")
	private Date createTime;

	/**
	 * 修改时间
	 */
	@ApiModelProperty(value = "修改时间")
	private Date updateTime;

	/**
	 * 创建人
	 */
	@ApiModelProperty(value = "创建人")
	private Long createUser;

	/**
	 * 修改人
	 */
	@ApiModelProperty(value = "修改人")
	private Long updateUser;

	private String jdbcUrl;
	private String username;
	private String password;
}
